前后端分离的项目如何 seo

  1. 使用 prerender。但是回答 prerender,面试官肯定会问你,如果不用 prerender,让你直接去实现,好的,请看下面的第二个答案。
  2. 先去 https://www.baidu.com/robots.txt 找出常见的爬虫,然后在 nginx 上判断来访问页面用户的 User-Agent 是否是爬虫,如果是爬虫,就用 nginx 方向代理到我们自己用 nodejs + puppeteer 实现的爬虫服务器上,然后用你的爬虫服务器爬自己的前后端分离的前端项目页面,增加扒页面的接收延时,保证异步渲染的接口数据返回,最后得到了页面的数据,返还给来访问的爬虫即可。

prerender-spa-plugin

prerender-spa-plugin 是一个 webpack 插件用于在单页应用中预渲染静态 html 内容,将运行时的 html 打包到文件中,从而提高首屏加载速度,也有利于 SEO。

原理:

在 webpack 构建阶段的最后,在本地启动一个 phantomjs,访问配置了预渲染的路由,再将 phantomjs/puppeteer 中渲染的页面输出到 html 文件中,并建立路由对应的目录。

Last Updated:
Contributors: yiliang114